using System;
using System.Collections.Generic;
using ns26;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("DraftManager")]
	public class DraftManager : MonoClass
	{
		public CollectionDeck m_draftDeck => method_3<CollectionDeck>("m_draftDeck");

		public bool m_hasReceivedSessionWinsLosses => method_2<bool>("m_hasReceivedSessionWinsLosses");

		public int m_currentSlot => method_2<int>("m_currentSlot");

		public int m_validSlot => method_2<int>("m_validSlot");

		public int m_maxSlot => method_2<int>("m_maxSlot");

		public int m_losses => method_2<int>("m_losses");

		public int m_wins => method_2<int>("m_wins");

		public int m_maxWins => method_2<int>("m_maxWins");

		public int m_numTicketsOwned => method_2<int>("m_numTicketsOwned");

		public bool m_isNewKey => method_2<bool>("m_isNewKey");

		public bool m_deckActiveDuringSession => method_2<bool>("m_deckActiveDuringSession");

		public bool m_inRewards => method_2<bool>("m_inRewards");

		public bool m_pendingRequestToDisbaleGoldens => method_2<bool>("m_pendingRequestToDisbaleGoldens");

		public int m_chosenIndex => method_2<int>("m_chosenIndex");

		public ulong SecondsUntilEndOfSeason => method_11<ulong>("get_SecondsUntilEndOfSeason", Array.Empty<object>());

		public int CurrentSeasonId => method_11<int>("get_CurrentSeasonId", Array.Empty<object>());

		public bool HasActiveRun => method_11<bool>("get_HasActiveRun", Array.Empty<object>());

		public int ChosenIndex => method_11<int>("get_ChosenIndex", Array.Empty<object>());

		public bool CanShowWinsLosses => method_11<bool>("get_CanShowWinsLosses", Array.Empty<object>());

		public DraftManager(IntPtr address, string className)
			: base(address, className)
		{
		}

		public DraftManager(IntPtr address)
			: this(address, "DraftManager")
		{
		}

		public static DraftManager Get()
		{
			return MonoClass.smethod_15<DraftManager>(TritonHs.MainAssemblyPath, "", "DraftManager", "Get", Array.Empty<object>());
		}

		public void Initialize()
		{
			method_8("Initialize");
		}

		public void OnLoggedIn()
		{
			method_8("OnLoggedIn");
		}

		public void RegisterDisplayHandlers()
		{
			method_8("RegisterDisplayHandlers");
		}

		public void UnregisterDisplayHandlers()
		{
			method_8("UnregisterDisplayHandlers");
		}

		public void RefreshCurrentSeasonFromServer()
		{
			method_8("RefreshCurrentSeasonFromServer");
		}

		public CollectionDeck GetDraftDeck()
		{
			return method_14<CollectionDeck>("GetDraftDeck", Array.Empty<object>());
		}

		public int GetSlot()
		{
			return method_11<int>("GetSlot", Array.Empty<object>());
		}

		public DraftSlotType GetSlotType()
		{
			return method_11<DraftSlotType>("GetSlotType", Array.Empty<object>());
		}

		public int GetLosses()
		{
			return method_11<int>("GetLosses", Array.Empty<object>());
		}

		public int GetWins()
		{
			return method_11<int>("GetWins", Array.Empty<object>());
		}

		public int GetMaxWins()
		{
			return method_11<int>("GetMaxWins", Array.Empty<object>());
		}

		public int GetNumTicketsOwned()
		{
			return method_11<int>("GetNumTicketsOwned", Array.Empty<object>());
		}

		public bool GetIsNewKey()
		{
			return method_11<bool>("GetIsNewKey", Array.Empty<object>());
		}

		public bool DeckWasActiveDuringSession()
		{
			return method_11<bool>("DeckWasActiveDuringSession", Array.Empty<object>());
		}

		public string GetRewardPaperPrefab()
		{
			return method_13("GetRewardPaperPrefab");
		}

		public string GetSceneHeadlineText()
		{
			return method_13("GetSceneHeadlineText");
		}

		public bool ShouldActivateKey()
		{
			return method_11<bool>("ShouldActivateKey", Array.Empty<object>());
		}

		public List<RewardData> GetRewards()
		{
			return method_14<Class271<RewardData>>("GetRewards", Array.Empty<object>())?.method_25();
		}

		public void MakeChoice(int choiceNum, TAG_PREMIUM choicePremium)
		{
			method_8("MakeChoice", choiceNum, choicePremium);
		}

		public void NotifyOfFinalGame(bool wonFinalGame)
		{
			method_8("NotifyOfFinalGame", wonFinalGame);
		}

		public void FindGame()
		{
			method_8("FindGame");
		}

		public bool ShouldDraftCardBeGolden(string cardId)
		{
			return method_11<bool>("ShouldDraftCardBeGolden", new object[1] { cardId });
		}

		public bool ShouldShowFreeArenaWinScreen()
		{
			return method_11<bool>("ShouldShowFreeArenaWinScreen", Array.Empty<object>());
		}

		public void PromptToDisableGoldens()
		{
			method_8("PromptToDisableGoldens");
		}

		public void OnDisableGoldensConfirmationResponse(AlertPopup.Response response, object userData)
		{
			method_8("OnDisableGoldensConfirmationResponse", response, userData);
		}

		public void OnDraftRemoveGoldensResponse()
		{
			method_8("OnDraftRemoveGoldensResponse");
		}

		public void ClearAllInnkeeperPopups()
		{
			method_8("ClearAllInnkeeperPopups");
		}

		public void ClearAllSeenPopups()
		{
			method_8("ClearAllSeenPopups");
		}

		public void ClearDeckInfo()
		{
			method_8("ClearDeckInfo");
		}

		public void DraftManager_WillReset()
		{
			method_8("DraftManager_WillReset");
		}

		public void OnBegin()
		{
			method_8("OnBegin");
		}

		public void OnRetire()
		{
			method_8("OnRetire");
		}

		public void OnAckRewards()
		{
			method_8("OnAckRewards");
		}

		public void OnChoicesAndContents()
		{
			method_8("OnChoicesAndContents");
		}

		public void OnChosen()
		{
			method_8("OnChosen");
		}

		public void OnError()
		{
			method_8("OnError");
		}

		public void OnArenaSessionResponse()
		{
			method_8("OnArenaSessionResponse");
		}

		public bool OnFindGameEvent(FindGameEventData eventData, object userData)
		{
			return method_11<bool>("OnFindGameEvent", new object[2] { eventData, userData });
		}

		public void OnDraftPurchaseAck(Network.Bundle bundle, PaymentMethod paymentMethod, object userData)
		{
			method_8("OnDraftPurchaseAck", bundle, paymentMethod, userData);
		}

		public void RequestDraftStart()
		{
			method_8("RequestDraftStart");
		}

		public void FireDraftDeckSetEvent()
		{
			method_8("FireDraftDeckSetEvent");
		}

		public void OnSceneLoaded(SceneMgr.Mode mode, PegasusScene scene, object userData)
		{
			method_8("OnSceneLoaded", mode, scene, userData);
		}

		public void OnGameOver(TAG_PLAYSTATE playState, object userData)
		{
			method_8("OnGameOver", playState, userData);
		}
	}
}
